Забыл про очень важный момент в автоматизации включения гирлянды, исправляюсь 😎

История отделки одного домика на 100 квадратов в Ессентуках
Забыл про очень важный момент в автоматизации включения гирлянды, исправляюсь 😎
Ставить двери меня никак не отпускает 😀
Эта временная дверь нужна для того, чтобы я мог спокойно заниматься строительными работами в прихожей и не пылить на весь дом. Когда пена схватится, я натяну пленку, или картон пришлепаю, и будет отличная временная дверь. А временная она потому что в этом месте постоянная не планируется, будет просто портал (или как там пустой дверной проем правильно называется).
Из прихожей я почти все вынес и прибрался. Сегодня думаю с этим всем закончу, а завтра уже займусь подготовительными работами перед шпаклевкой.
Ну что, кажется пора подводить итоги года. Запилил тут длиннопост, велкам читать и вспоминать как оно было :)
https://boosty.to/programmers_build_houses/posts/f3ec7c5f-9727-4aba-8a79-599c1bb1eb71
Сегодня руками ничего не делал. Хотел сначала заняться уборкой в гостиной, но потом передумал - чет устал слишком. Поэтому сел за код. Решил, что данных достаточно и самое время написать автоматическое включение освещения в кабинете.
И таки написал :) Всего 8 строчек и теперь свет включается и отключается автоматически. Уже успел вечером погонять, и как же это классно. Датчик реагирует на появление в комнате очень быстро, и ложных срабатываний я пока не заметил (чтобы свет отключался когда меня тут нет, или наоборот включался когда в комнате никого).
Думаю можно считать эксперимент удачным и распостранять его на остальные комнаты.
Программисты могут заметить, что 3 вложенных if не очень красиво выглядят, но, тут все четко.
1. Проверяем что данные валидны. После перезапуска контроллера там значения по умолчанию, которые не всегда соотвествуют действительности, и эта проверка была добавлена для того, чтобы свет не моргал в случае перезапуска.
2. Тут вроде все понятно - если батя человек в здании, включаем свет, если нет, отключаем
3. А вот третью проверку на уровень освещения, ее так и тянется рука перенести на уровень выше. Но, не стоит. Это сделано для того, что если вдруг освещение включилось днем, когда тучи набежали, чтобы потом оно могло отключиться когда тучи уйдут. Конечно, оно не выключится сразу. Но тут особенность реализации - мы как в квантовой механике влияем на то что хотим измерить (включая свет мы повышаем освещенность в комнате). Поэтому, если человек выйдет из комнаты, свет выключится. А когда вернется и уровень освещенности будет выше порога - не будет уже включаться. Лучше я не придумал 🙂
Заканчиваю по электрике в кабинете.
Сегодня перенес точку доступа из коридора в кабинет. Повесил ее на ту витую пару, что испортил вчера. Пришлось чутка ее нарастить, а то длины ее уже не хватало чтобы завести в кабинет. Но в итоге все заработало. На точке видно что линк гигабит, проблем пока никаких не замечено.
Кабель заделал обратно в гнездо 5.6 на патч панели. Главное не забыть теперь записать куда-то изменения...
Так же сегодня подключил датчики присутствия к контроллеру и запрограммировал его. Правда, на фото вы видите только один. Ниже объясню.
В общем, датчики я подключил, код написал и начал тестировать. И оказалось, что хоть один датчик смотрит вообще на стол и никак на дверь, он так же срабатывал стоило мне начать заходить в комнату. Сначала это казалось мистикой. Но, как говорится, если не знать физику, то весь мир будет похож на магию.
Короч как оказалось, этим датчикам особо направление и не нужно. Они спокойно ловят сигнал отраженный несколько раз от стен, потом от человека, и в итоге определяют что это человек. Так что я посидел, подумал, и снял один из датчиков. Решил пока на одном потестить.
Пришлось выпилить поддержку второго датчика из кода, но, это сильно проще чем добавить поддержку еще одного :)
Потом походил туда сюда, потестировал, вроде отлично работает. Так что думаю тут вполне хватит и одного датчика. Я еще где-то день другой потестирую, посмотрю что да как. Но уже думаю, что второй датчик пойдет в туалет. Там как раз есть проблемки с датчиком движения и постоянно отключающимся светом...
Думаю надо уже устанавливать геркон на входную дверь и таки начинать писать автоматизацию для включения и отключения освещения в комнате.
Кстати, насчет освещения. Я ж добавил поддержку датчика освещенности, который есть в комбинированном датчике от WirenBoard. И собрал уже некоторую статистику.
Получается, мой светильник в среднем светит где-то на 90 люкс. Я погуглил немного, оказалось, что это считается очень слабым светом. По графику если глянуть, днем, даже с учетом того что сейчас зима и окно в комнате находится на серверной стороне, освещенность доходила до 700 люкс.
Я закинул инфу в chatgpt и она мне говорит, что очень маловероятно что у меня есть где-то проблемы по электрической части. Просто ленты мало. Поэтому есть идея снять светильник и чутка его доработать. Добавить еще одну ленту. Благо ширина профиля позволяет это сделать. И можно будет поднять освещенность в комнате до примерно 200 люкс. Что уже более-менее укладывается в нормативы.
Так что закажу еще 5 метров ленты и как только придет - займусь этим.
Сегодня утром заметил, что ночью пропал ethernet линк на контроллере. Причем, если кабель воткнуть напрямую в роутер, то линк есть, но всего 10 мбит скорость (что вроде бы не проблема, но свитч не поддерживает меньше 100 мбит и на нем линка совсем нет).
Убил в итоге весь обед и вечер на поиск проблемы. Перепробовал все: перезаделывал кабель в патч панель, обрезал потенциально подозрительные куски и вместо них прокладывал новые. Дошло до того, что вечером я проложил полностью новый кабель и для чистоты эксперемента заделал его в другой порт. И когда увидел тот же самый результат, стало понятно, что дело ну уж точно не в кабене наверное, да?) Подключил к кабелю ноут, и с линком все в порядке. Стабильный гигабит.
Стало ясно, что дело в контроллере. Скорее всего неисправен входной трансформатор. На плате я трансформатора не увидел, погуглил за разъем, оказалось, он встроен прям в него. Нашел его в чипе и дипе, стоит 150 рубасов. Пожалуй еще для скорости гляну на озоне, но если не будет, то закажу там.
Видимо попался мне бракованный контроллер. Но не страшно, мы не хуем деланы - отремонтируем 💃
Жалко только кабель, который скорее всего был рабочим, а я в итоге его испортил( Но то ладно, мелочи жизни.
Я ж сегодня планировал заняться датчиками присутствия, но до них так и не добрался. Но вчера перед сном я таки успел один из них подключить к ноуту и потыкать утилитой modbus_client. Разобрался что куда там по спецификации, смог даже адрес у одного сменить. Осталось дело за малым - подключить и запрограммировать.
PS: вспомнил сейчас зачем я хотел сегодня в магазины ехать - хотел купить wago клеммы на три контакта чтобы датчики эти подключить без пайки. Надо завтра не забыть сгонять и купить...
Быстрее чем в чипе и дипе. И даже чуточку дешевле.
Сегодня когда с кабелем мучался, не мог понять где проблема, психанул и заказал такой вот тестер. Сейчас вроде уже как будто и не особо актуально, но мне кажется, что все равно пригодится. Так что отменять заказ не буду. Ну а как придет - будет очень интеесно потестить. Я обзорчики на него уже посмотрел и функционал вполне себе годный. Не хватает только картины по затуханию сигнала в кабеле, но да ладно, думаю как-то без этого проживем.
Сегодня на обеде написал регулятор теплого пола. Заработал он почти сразу, было пару мелких багов, но потом огонь. Сделал пока на самом простом алгоритме петли гистерезиса.
Так же благодаря теплому полу смог обнаружить фундаментальные проблемы в моей самописной библиотеке для работы с девайсами от WirenBoard, из-за которого у меня свет отключался сам собой. Если в кратце: были косяки с обработкой ошибок, и в случае ошибок на шине приходило значение по умолчанию, как будто свет отключился. А контроллер видит что свет отключился и думает: ну раз отключился, значит я все вырублю как надо. И вырубал :) Проблему я в итоге поправил, но библиотека требует крупного рефакторинга, коим я сейчас занимаюсь.
Так же протянул сегодня ethernet кабель до щитка. С wifi контроллер работал не стабильно, постоянно сеть терял. А по кабелю теперь все отлично. Хорошо что я каждую комнату по запасной витой паре завел. Они как раз сейчас очень пригодятся.
И собрал последнюю распаечную коробку в комнате. Осталось перенести в кабинет точку доступа из коридора (опыт показал, что в туалете плохо работает wifi, а в коридоре вроде как он особо то и не нужен) и вроде бы по электрике все. Датчиками присутствия нужно будет еще заняться, но я чет бегло глянул даташит на них, понял что китайцы его очень плохо перевели на английский и быстро что-то сделать не выйдет. Так что наверное завтра уже ими займусь.
Сегодня поменял выключатель на без фиксации, и наконец-то заработал мой самодельный светильник из светодиодных линий. Правда оказалось, что я перепутал проводники по каналам 😀 Но это не проблема, достаточно просто поменять их местами в WB-LED и сразу все заработало как надо.
Светильник в целом светит норм, но как будто не настолько ярко как я думал. Хотя он должен весьма ярко светить - там ленты на 50 ватт электрического потребления. Нужно будет замерить потом напряжение на ленте, может кабель все же недостаточного сечения и напряжение сильно проседает.
На обеде я ездил в поиске закладных для точечных светильников. Их не оказалось в СОМе. Не стал ездить и искать их где-то, поэтому просто купил набор коронок по дереву (старый я все равно растерял или они поржавели). Вечером вырезал парочку небольших досочек, сделал в них отверстия диаметром 44 миллиметра, и получились идеальные крепления для датчиков присутствия. Повесил их на подвесы. Можно регулировать их угол, чем я в будущем скорее всего займусь. Датчики пока не подключал - заказал сегодня RS485-USB свисток, должны завтра доставить. Тогда я сменю им адреса и уже подключу в общую шину.
Так же как и планировал, отключил кабель от сети 220 который пойдет на сервопривод радиатора отопления. Осталось обжать провода в коробке на освещение, но это пожалуй сделаю уже завтра. И еще сегодня заметил, что питать модули WB-LED от блока питаиня который подключен к розеткам так себе идея - стоит пропасть на нем питание, и они вырубаются. Ожидаемо, да 😀 Но когда вчера я собирал щиток, чет об этом не подумал. Так что нужно будет так же перекинуть модули WB-LED на питание от блока питания который питает ленту. Все же идея тут такая, что если вдруг мой контроллер взбрыкнет или вообще умрет - нужно иметь возможность все равно включить и выключить свет.
Ну и сейчас набросал базовый код для контроллера автоматизации кабинета. Сейчас можно базово управлять светом (вкл/выкл, яркость, температура), так же забираются данные с датчика WB-MSW (температура, влажность, качество воздуха).
В этом датчике у меня так же появился датчик уровня СО2, и я конечно же в первую очередь запрограммировал получение информации с него. И конечно офигел. В кабинете изначально было 1500 ppm. Это при норме 300-400. Офигеть конечно. Сразу становится понятно почему мне плохо спится и работается.
Я для тестов открыл окно, и да, показания поползли вниз. Работает таки. Ну а как закрыл окно - опять поперло вверх.
На данный момент буду проветривать комнату почаще. А вообще - нужно озаботиться реализацией вентиляции во всем доме. У меня как раз уже были планы на это, где-то к весне, ближе к этому расскажу что я напридумывал :)
Наконец-то сегодня установил наличники.
С ними не получилось идеально, в одном месте получилась очень заметная щель. На двери туалета щели тоже были, но мелкие, их я в качестве эксперимента замазал шпаклевкой для плинтусов. Завтра должна высохнуть, сошлифую ее и попробую подкрасить, надеюсь норм получился.
А вот с входной дверью в комнату все сложней. Там щель большая и просто шпаклевка не поможет. В идеале нужно поперечную планку вырезать по новой. Но пока не стали этого делать. У нас тут еще есть косяк с дверью, точнее ее цветом. Она желтизной отдает. Одна из двух косячных дверей среди тех, что купили. Если изначально это не сильно в глаза бросалось, то сейчас, очень бросается. Возможно сменим наличники тут на другие. Собствено, это причина почему сейчас не стал вырезать новую планку чтобы исправить щель.
И еще сегодня изготовил светильник на основе профилей для светодиодных линий. Весь день на него убил.
В итоге подвесил. В плане горизонта все более-менее норм (погрешность пару миллиметров). А вот с параллельностью стенам кажется получилось не очень. Завтра буду исправлять. И заодно подключать светильник и вообще доделывать по электрике. Надеюсь за завтра все успею. Останется дело за малым - написать код. Но это можно сделать и в понедельник вечером :)
Сегодня был очень тяжкий день.
Сначала я занялся тем, что выровнял светильник относительно стен, и вроде как получилось добиться хоть какой-то параллельности. По крайней мере на глаз выглядит норм. Возможно пострадал от этого горизонт, но уже финально поправлю когда дело дойдет до установки потолка.
Потом занимался переделкой электрики. Избавлялся от ненужного, перекоммутировал розетки под новую схему питания, кидал до щитка автоматизации.
Собрал я и содержимое щитка. Постарался это сделать максимально красиво. В итоге выглядит как кусок какого-то советского космического аппарата 😀
Сейчас он уже работает, питание к нему подведено. Правда, жизни в лице фирмвари в нем пока нет. Я ее до сих пор еще не написал. Планировал сегодня вечером писать, но, только вот закончил, сил совсем нет, так что написание кода уйдет в лучшем случае на завтра.
А так, почти все подключил (кроме датчиков присутствия, но про них дальше).
Датчики присутствия пока толком не установил и не подключил. Во первых, нужно придумать для них какое-то жесткое крепление. Сейчас я один подвесил просто на проволке, но оно как будто так себе выглядит. Думал что выпилю из дерева, но так и не смог найти коронку подходящего диаметра :( Поэтому крепления буду завтра изобретать.
И еще не подключал их потому, что у них одинаковые адреса с завода, нужно каждый по отдельности подключать к мастеру и менять адреса, иначе работать не будут. Поэтому шину пока временно соединил без них.
По электрике надеялся что все успею за сегодня закончить, но, не успел( Нужно завтра поменять выключатель, нужно будет отключить кабель от бывшей розетки (там сейчас розетки то и нет, туда будет подключаться сервопривод отопления). И нужно будет огильзовать соединения в коробке для освещения. Будет очень хорошо, если я все это сделаю за завтра. И в качестве бонуса - организую нормальное крепление к потолку для датчиков присутствия.