Comments 42
Можно выбрать оперативку, жесткий диск, процессор и цвет. Заказывал как образец, 1 штуку, доставил СДЭК.
И сильно ли ощущается разница с автоматической системой и без нее?
В плане экономии электроэнергии с автоматизацией примерно на 1.5к в месяц дешевле зимой, чем без нее. По автоматизации климата, ощущется разница, потому что в среднем держится температура и влажность, которая нам комфортна. Вентиляцию тоже не надо бегать, скорости и температуру входящего воздуха менять. Это если сравнивать тоже оборудование с кучей пультов и автоматизацию. Если вообще без каких то заморочек типа вентиляции, то будет душно, либо придется открывать окна, а на улице слишком шумно, грязно и жарко или холодно.
Статья не соответствует выбранной теме — это очередная общая статья.
Возможно в будущих статьях это будет исправлено, но пока ничего нет.
Тут как-бы другая цель. Сам думаю написать статью о своем "Умном доме" и пока вырисовывается сказ в 2-х частях.
Первая часть будет о том, что мой "Умный Дом" умеет — т.е. какие функции реализованы, как происходит взаимодействие с пользователями и т.д.
А вторая часть уже о том, как это все устроено и работает изнутри.
Т.е первая часть не будет изобиловать деталями, а будет в основном служить для "затравки", а вторая уже будет объяснять заинтересованным лицам технические подробности. Думаю, что так будет удобнее читать, так как в одной части трудно уместить все вместе.
PS Кстати именно на вашей статье habr.com/ru/post/396985 я когда то учился.
Отличный материал!
Без этого — картинка бесполезна.
Специально перешел на NodeRED, чтобы не кодить. У меня вся логика в нем сделана графически, используя только стандартные блоки.
Считаю, что использовать графические среды, чтобы в итоге все описывать в блоках function — это нонсенс. Тогда и NodeRED не нужен.
Ну а настройки блоков? Просто приляпать ноды нельзя.
Кодить придется. На готовых много чего не сделать. Ну к примеру делал вкл/выкл света по двум датчикам, суть в подсчете вошедших-вышедших из комнаты. Как вы блоками реализуете ++n и --n?
Датчики сяоми дают давление в гпа, а мне надо в мм.рт.ст. Я нашел монстрообразный конвертер, но ведь проще умножение выполнить в одно блоке function. Блока подсчета времени тоже нет, пришлось писать.
Понравилось, что автор сделал упор на роботу всего функционала при отсутствии интернета, для меня это тоже было важным.
Интересует, реализовано ли управление голосом. Сначала казалось это не особо нужным, а сейчас в 90% случаев управляю функционалом через голос. Да, интернет при это нужен, но голосовой ассистент может быть прикручен «сбоку», например та же Алиса через написание навыка. Хотя ряд простых фраз можно распознавать и «в оффлайне».
Поскольку чистых IR-кодов для кондиционеров я не нашел, а пульт передает все состояние целиком (обороты, режим, температура) — все возможные состояния для обогрева и охлаждения были скопированы с пульта кондиционера с помощью Broadlink в базу данных. Чистых команд для включения и отключения тоже не нашлось.
А их и нет. Каждое нажатие кнопки пульта либо генерит внутри пульта необходимую посылку (без отправки через IR), либо отправляет весь пакет.
unsigned int NrawDataOn[67] = {8600,4200, 600,1550, 600,500, 600,1550, 600,500, 600,500, 600,1550, 600,500, 600,1550, 600,500, 600,1550, 600,500, 600,1550, 600,1550,
600,500, 600,1550, 600,500, 600,500, 600,500, 600,1550, 600,1550, 600,1550, 600,500, 600,500, 600,500, 600,1550, 600,1550, 600,500, 600,500, 600,500, 600,1550, 600,1550,
600,1550, 650}; // NEC A55A38C7
unsigned int NrawDataOff[67] = {8600,4200, 600,1550, 600,500, 600,1550, 600,500, 600,500, 600,1550, 600,500, 600,1550, 600,500, 600,1550, 600,500, 600,1550, 600,1550,
600,500, 600,1550, 600,500, 600,500, 600,500, 600,1550, 600,1550, 600,1550, 600,500, 600,500, 600,500, 600,1550, 600,1550, 650,500, 600,500, 600,500, 600,1550, 600,1550,
600,1550, 600}; // NEC A55A38C7
// MITSUBISHI
unsigned int MrawDataOn[179] = {3150,1500, 450,350, 450,1100, 450,350, 450,350, 400,1150, 400,350, 450,1150, 400,350, 450,350, 400,1150, 450,1100, 450,1100, 450,350, 400,1150, 450,350, 400,1150, 400,1150, 450,1100,
450,350, 400,350, 450,350, 450,350, 400,1150, 400,1150, 450,350, 400,1150, 400,1150, 450,350, 400,350, 450,1100, 450,350, 450,350, 400,1150, 400,350, 450,350, 400,1150, 450,1100, 450,350, 400,1150, 450,1100, 450,1100,
450,1150, 400,1150, 400,1150, 450,1100, 450,1100, 450,1150, 400,1150, 400,350, 450,350, 400,350, 450,350, 450,350, 400,350, 450,350, 400,350, 450,1150, 400,1150, 400,1150, 400,1150, 450,1100, 450,1100, 450,1150, 400,
1150, 400,350, 450,350, 450,350, 400,350, 450,350, 400,350, 450,350, 450,350, 400,1150, 400,1150, 450,350, 400,350, 450,1100, 450,1150, 400,1150, 400,350, 450,350, 400,400, 400,1150, 400,1150, 400,400, 400,350, 450,350,
400,1150, 400}; // UNKNOWN 59602EFD
unsigned int MrawDataOff[179] = {3200,1500, 450,350, 400,1150, 450,350, 400,350, 450,1100, 450,350, 450,1100, 450,350, 400,350, 450,1150, 400,1150, 400,1150, 400,400, 400,1150, 400,350, 450,1150, 400,1150, 400,1150,
400,350, 450,350, 450,350, 400,350, 450,1100, 450,1150, 400,350, 450,1100, 450,1150, 400,350, 450,350, 400,1150, 400,400, 400,350, 450,1100, 450,350, 400,350, 450,1150, 400,1150, 400,350, 450,1150, 400,1150, 400,1150,
400,1150, 450,1100, 450,1150, 400,1150, 400,1150, 400,1150, 450,1100, 450,350, 400,350, 450,350, 450,350, 400,350, 450,350, 400,350, 450,350, 400,1150, 450,1100, 450,1150, 400,1150, 400,1150, 400,1150, 450,1100, 450,
1100, 450,350, 450,350, 400,350, 450,350, 400,350, 450,350, 450,350, 400,350, 450,1100, 450,1150, 400,350, 450,1100, 450,1150, 400,1150, 400,1150, 400,400, 400,350, 450,350, 400,1150, 400,350, 450,350, 450,350, 400,350,
450,1100, 450}; // UNKNOWN 41EA0121
// PANASONIC
unsigned int PrawDataOn [439]= {3500, 1676, 480, 400, 464, 1244, 484, 396, 468, 396, 468, 396, 468, 396, 468, 396, 468, 396, 468, 396, 464, 400, 464, 400, 464, 400, 464,
396, 468, 1260, 468, 396, 468, 396, 468, 396, 468, 396, 464, 400, 464, 400, 464, 400, 468, 1256, 472, 1244, 484, 1240, 484, 396, 468, 396, 468, 1260, 468, 396, 468, 396,
468, 396, 468, 396, 464, 400, 464, 400, 464, 400, 464, 396, 468, 396, 468, 396, 468, 396, 468, 396, 468, 396, 468, 396, 464, 400, 464, 400, 464, 400, 464, 396, 468, 396,
468, 396, 468, 396, 468, 396, 468, 396, 468, 396, 468, 396, 468, 396, 468, 396, 464, 396, 468, 396, 468, 396, 468, 1260, 468, 1260, 464, 400, 464, 400, 464, 400, 464, 396,
468, 396, 468, 9896, 3492, 1692, 468, 400, 464, 1260, 468, 396, 468, 396, 468, 396, 468, 396, 468, 396, 464, 400, 464, 400, 464, 396, 468, 396, 468, 396, 468, 396, 468,
1244, 484, 396, 492, 372, 492, 372, 492, 368, 496, 368, 492, 372, 492, 372, 492, 1236, 492, 1232, 468, 1260, 468, 400, 464, 400, 468, 1260, 464, 400, 464, 400, 464, 396,
468, 396, 468, 424, 440, 396, 468, 396, 464, 400, 492, 372, 464, 400, 492, 372, 464, 400, 464, 396, 492, 1236, 492, 372, 492, 372, 492, 1236, 492, 368, 496, 368, 492, 1236,
468, 400, 464, 420, 444, 1264, 460, 404, 460, 400, 464, 1260, 472, 1244, 480, 400, 464, 400, 464, 396, 468, 396, 492, 372, 492, 372, 492, 372, 492, 372, 492, 372, 492, 1232,
468, 1264, 468, 1260, 464, 396, 468, 424, 440, 424, 440, 1260, 468, 396, 492, 1232, 496, 368, 492, 1236, 492, 396, 444, 1264, 464, 420, 440, 404, 460, 404, 460, 400, 464,
400, 464, 400, 464, 400, 464, 400, 464, 400, 460, 424, 444, 420, 444, 420, 444, 420, 444, 1260, 464, 1264, 492, 396, 464, 400, 440, 420, 444, 420, 444, 420, 444, 420, 440,
424, 440, 424, 440, 424, 440, 400, 464, 1264, 464, 1264, 464, 420, 444, 420, 444, 420, 444, 420, 444, 424, 440, 1260, 468, 396, 464, 424, 440, 424, 440, 424, 464, 400, 464,
400, 440, 420, 444, 420, 444, 420, 444, 420, 440, 424, 440, 1264, 464, 424, 440, 424, 440, 424, 440, 420, 444, 420, 444, 420, 444, 420, 444, 420, 440, 424, 440, 424, 440,
424, 440, 1288, 416, 420, 472, 1256, 468, 1244, 484, 396, 468, 1260, 468, 396, 468, 396, 468, 396, 464, 400, 464, 400, 464, 400, 464, 1260, 472, 1256, 472, 1256, 468, 392,
472, 1256, 472, 1256, 472, 1260, 464, 1260, 468};
unsigned int PrawDataOff [439]= {3500, 1672, 484, 396, 468, 1260, 468, 396, 468, 396, 464, 400, 464, 400, 464, 400, 464, 400, 464, 396, 468, 396, 468, 396, 468, 400, 464,
396, 468, 1256, 472, 396, 468, 396, 468, 396, 468, 396, 468, 396, 464, 400, 464, 400, 464, 1244, 484, 1260, 468, 1260, 464, 400, 464, 400, 464, 1260, 468, 396, 468, 396,
468, 396, 472, 392, 472, 392, 468, 396, 468, 396, 468, 396, 468, 392, 472, 392, 472, 392, 472, 396, 468, 392, 472, 392, 472, 396, 468, 396, 468, 396, 464, 396, 468, 396,
492, 372, 468, 396, 492, 372, 492, 372, 492, 372, 492, 372, 492, 368, 492, 372, 492, 372, 492, 372, 492, 372, 492, 1236, 464, 1260, 472, 392, 472, 392, 472, 392, 472, 392,
472, 392, 468, 9896, 3492, 1688, 472, 392, 496, 1236, 492, 372, 492, 372, 492, 372, 492, 368, 492, 372, 492, 372, 492, 372, 492, 372, 492, 372, 492, 372, 492, 372, 492,
1232, 492, 372, 492, 372, 492, 372, 492, 372, 492, 372, 492, 372, 492, 372, 492, 1236, 468, 1260, 492, 1236, 492, 368, 492, 372, 492, 1236, 492, 372, 492, 372, 492, 368,
496, 368, 492, 372, 492, 372, 492, 372, 468, 396, 492, 372, 464, 400, 468, 400, 464, 396, 468, 396, 468, 1260, 492, 372, 492, 372, 492, 1232, 492, 372, 492, 372, 492, 1236,
492, 372, 492, 372, 492, 1232, 496, 368, 492, 372, 492, 1236, 492, 1236, 492, 376, 460, 404, 460, 404, 460, 400, 468, 396, 468, 396, 468, 396, 468, 396, 492, 372, 492, 1232,
492, 1236, 492, 1236, 492, 372, 492, 368, 496, 368, 496, 1232, 492, 376, 488, 1240, 460, 404, 464, 1260, 468, 396, 468, 1260, 492, 372, 492, 372, 492, 372, 492, 368, 496,
368, 492, 372, 492, 372, 468, 396, 468, 396, 468, 396, 492, 372, 492, 372, 492, 372, 492, 1232, 496, 1232, 492, 372, 492, 396, 468, 396, 468, 396, 468, 396, 464, 400, 464,
400, 464, 400, 440, 404, 460, 400, 460, 1268, 460, 1264, 468, 396, 468, 396, 492, 372, 492, 372, 468, 396, 492, 1236, 492, 368, 492, 372, 492, 372, 492, 396, 468, 396, 468,
396, 468, 396, 464, 400, 440, 424, 440, 424, 440, 420, 444, 1260, 468, 420, 444, 420, 444, 420, 440, 424, 444, 420, 444, 416, 448, 416, 448, 416, 444, 420, 444, 420, 444,
424, 440, 1244, 508, 396, 468, 1260, 440, 1264, 464, 420, 444, 1284, 444, 420, 444, 420, 444, 420, 444, 424, 440, 420, 444, 420, 468, 1260, 416, 1284, 444, 1284, 472, 392,
468, 1260, 468, 1260, 468, 1260, 468, 1256, 472};
// ROYAL CLIMA
unsigned int RrawDataOn [199]= {4491, 4402, 587, 1584, 587, 516, 582, 1585, 570, 1580, 591, 533, 557, 542, 552, 1589, 539, 594, 590, 534, 565, 1580, 591, 530, 513, 589,
565, 1576, 595, 1581, 591, 534, 565, 1585, 590, 530, 569, 1580, 565, 1577, 594, 1581, 569, 1602, 569, 534, 565, 1606, 561, 1585, 509, 1636, 569, 559, 591, 529, 569, 534,
586, 538, 561, 1589, 582, 516, 591, 533, 565, 1606, 561, 1589, 539, 1606, 591, 533, 556, 543, 565, 559, 509, 594, 565, 559, 556, 543, 590, 534, 509, 594, 539, 1627, 544,
1589, 582, 1606, 565, 1580, 543, 1628, 565, 5169, 4464, 4443, 549, 1615, 561, 542, 552, 1615, 539, 1610, 565, 555, 513, 590, 539, 1602, 569, 564, 561, 559, 539, 1611, 565,
555, 543, 560, 539, 1632, 565, 1581, 590, 534, 539, 1610, 565, 555, 544, 1606, 538, 1633, 564, 1568, 556, 1632, 539, 563, 535, 1611, 581, 1589, 539, 1633, 538, 564, 587,
533, 539, 564, 556, 569, 530, 1615, 556, 546, 561, 564, 535, 1610, 556, 1615, 539, 1607, 564, 564, 505, 594, 560, 560, 539, 564, 560, 564, 509, 594, 560, 560, 539, 564,
534, 1632, 565, 1585, 539, 1632, 535, 1614, 535, 1632, 565};
unsigned int RrawDataOff [199]= {4490, 4450, 513, 1636, 535, 590, 573, 1576, 617, 1550, 595, 534, 595, 503, 569, 1576, 600, 529, 591, 533, 591, 1554, 617, 486, 595, 529,
569, 1572, 586, 1589, 582, 517, 552, 1619, 591, 512, 586, 1580, 591, 512, 556, 1598, 590, 1572, 513, 1637, 620, 1555, 505, 1662, 569, 1576, 599, 529, 569, 1577, 620, 504,
508, 590, 599, 525, 574, 529, 591, 533, 595, 1550, 574, 1571, 600, 529, 595, 529, 595, 504, 590, 513, 594, 530, 582, 542, 595, 504, 591, 512, 582, 1585, 573, 1572, 560,
1611, 599, 1550, 556, 1593, 595, 1571, 561, 5198, 4498, 4427, 513, 1637, 534, 590, 569, 1576, 595, 1576, 621, 504, 573, 529, 569, 1576, 621, 504, 620, 504, 569, 1576, 595,
534, 569, 529, 595, 1550, 586, 1585, 586, 517, 552, 1619, 616, 508, 565, 1580, 591, 512, 582, 1585, 573, 1577, 556, 1593, 617, 1550, 513, 1658, 575, 1574, 595, 530, 569,
1581, 590, 534, 509, 590, 594, 530, 569, 529, 591, 534, 595, 1550, 513, 1636, 535, 590, 620, 504, 595, 503, 591, 538, 565, 533, 582, 543, 569, 529, 590, 513, 582, 1584,
574, 1576, 582, 1589, 569, 1576, 556, 1598, 590, 1577, 556};
Здравствуйте, поясните вот это: "Датчик CO₂ — портативный, собран на основе датчика MH-Z19b, двух аккумуляторов 18650, ESP32 и мосфета IRF520 (для отключения питания от датчика во время сна контроллера)".
Если питание отключается, как датчик считает корректно показания после подачи питания?
На стороне вентиляции, если сценарий видит сильное увеличение или уменьшение CO₂ может поднять или скинуть несколько скоростей. Пока система не войдет в равновесие.
>Во второй части статьи я расскажу…
С превеликим нетерпением буду ждать вторую часть.
OpenZwave не очень радует. Вроде работает, работает — и потом вдруг самопроизвольно "отваливается" какая-нибудь нода. Приходится пинать вручную, иногда переспаривать заново. Не говоря о том, что некоторые девайсы (вроде дверного кодового звонка) вообще не работают ни при каких настройках. В сети находятся, и даже выдают какие-то "ручки". Но они все показывают "погоду" (кроме разве что уровня заряда батареи). А на попытку открыть/закрыть вообще не реагирует.
есть мысль попробовать проприетарную либу от zwave.me. По крайней мере их фирменный софт на "малинке" (на том же самом контроллере, с теми же самыми устройствами) работает вообще беспроблемно.
zwave.me хороший софт, но это дополнительный сервер и дополнительные настройки и интеграции
Как показывает практика, поднять влажность до приемлемых значений(хотя бы более 40%) практически неосуществимое дело в обычной квартире. Т.к. стоит открыть оконо даже на микро — уровень влажности падает до минимального. Фактически приходится закрывать все окна и двери в одной комнате и включать ультразвуокой увлажнитель — тогда более менее. Если же оконные рамы — старые, деревянные — вообще нереально.
То есть, как только в квартире появляется вентиляция (открыто окно, дверь) — влажность падает.
Итог: либо сидишь в духоте, но с хорошей влажностью, либо свежий воздух, но влажность 30?%.
У меня такой вопрос, негиковский совсем: прикидывали, насколько данная автоматизация увеличивает стоимость квартиры при продаже? Не превратится ли все это в тыкву без вашего периодического вмешательства? И будет ли готов потенциальный покупатель выбирать квартиру со всей этой "чертовщиной", которую он не понимает, доподлинно не зная дороговизны обслуживания?
Нет смысла продавать с автоматикой, никому ее обслуживать не интересно, вся автоматизация снимается максимум за несколько часов и все выключатели становятся обычными, так же как шторы и вентиляция. По сути все останется как есть, вентиляция, подогрев и прочее, но с отключённой автоматизацией. Ничего даже переделывать не придется.
Я себе тоже приточку поставил, но не очень удачно — шумновато получилось, хочу переделать
так же будет поддерживать нужную температуру. они у меня стоят уже три года по принципы — я не помню что они есть, но везде всегда +24
У вас всё работает или продали квартиру?
Сказ о том, как я автоматизировал квартиру с помощью Node-RED. Часть I