31 Августа 2020
1457

Миграция из Mi Home в Home Assistant. Часть 1

На днях тут ляпнул не подумав в комментариях, что могу рассказать как перетащить девайсы умного дома Xiaomi в Home Assistant, и внезапно в подписчиках у меня образовалось 258 человек. Люди, что ж вы делаете?) Придется рассказывать) А так как работаю я как раз в роли девопс инженера то тут уж никуда не деться.

Ну ладно, шутки шутками, а давайте всё же попробую.

Итак, начнем с общей информации для тех, кто не в теме. Что за звери этот Mi Home и кто такой Home Assistant? И зачем что-то куда-то перетаскивать?


Mi Home - это такое приложение от компании Xiaomi, в которое можно добавлять различные устройства умного дома от Xiaomi же. Этих устройств компания наплодила вагон и маленькую тележку, отличаются невысокой ценой и, внезапно, вполне достойным качеством. Тут вам и датчики дыма, и умный свет, и увлажнители с пылесосами и ещё черт знает что с хвостиком.

Стоит при этом всё это вполне разумных денег. Ну, имхо конечно же.


Процесс взаимодействия с умным домом Xiaomi происходит следующим образом - вы покупаете, например, робот-пылесос. Скачиваете приложение Mi Home на свой телефон, следуете нехитрой инструкции и вуаля - ваш пылесос резко умнеет, и умеет уже убираться по расписанию, убирать зоны квартиры и разве что кофе вам в постель с утра не приносит.

В общем-то всё это выглядит хорошо и здорово, за исключением одного неприятного момента.

ВСЕ ваши умные девайсы за редким исключением смотрят во внешнюю сеть, чтобы взаимодействовать с серверами Xiaomi, что само по себе является не очень-то приятным фактом.


Мало того, при использовании региона Китай, ещё и очень задумчиво с этими самими серверами общаются, а использовать сервера китайского региона вам по любому придется. В российском регионе набор поддерживаемых девайсов крайне скуден и неинтересен.


Чтобы решить эту проблему умные люди, собравшись с мыслями и покурив документацию на девайсы (а где-то и отреверсив прошивки девайсов) начали писать своё, открытое ПО для умного дома - а именно, Home Assistant, Domoticz и ещё кучу всяких разных. Суть этих решений заключается как раз в том чтобы отвязать ваши умные девайсы от злобных китайских серверов и управлять ими вне зависимости от того доступны они или нет.


Рассказывать я буду на примере своего "умного дома". И рассказывать именно про Home Assistant, потому что именно его и удалось успешно запилить.

Итак, что имеем на старте.

22 умных девайса, а именно: робот-пылесос, два шлюза Xiaomi, пачку разных лампочек, 3 датчика движения, датчик протечки и датчик дыма, датчики температуры и влажности. А также 2 увлажнителя и умную розетку для обогревателя. В Mi Home это выглядит как-то так:

Собственно, процесс добавления девайсов в приложение обычно не вызывает особых вопросов и отдельно его освещать я не буду.


Чтобы начать втаскивать всё это хозяйство в Home Assistant, вам понадобится:


1. Базовое знакомство с linux. Всё конфигурирование (по крайней мере основное) Home Assistant сводится к редактированию его конфиг-файла. Вас не должны пугать такие слова как docker, shell, daemon, логи и т д.

2. Наличие raspberry pi 3 b+ либо Intel Nuc. На самом деле, подойдет любой свободный ПК дома, но учтите, что он должен быть включен 24/7, и желательно иметь на борту встроенный Bluetooth.

3. Карточка microSD для Raspberry Pi 3b+. Крайне желательна побыстрее по скорости. Тут уж смотрите сами.

4. Wifi-роутер. У меня mikrotik hap ac v2, возможно будете использовать другой, но роутер должен быть. И он должен поддерживать 2.4 ГГц wifi.

5. Наличие Xiaomi Gateway 2. Нужен если планируете использовать датчики Xiaomi же, и прочие девайсы умного дома работающие по протоколу Zigbee.

Обратите внимание, что нужна именно вторая версия. Шлюз Aqara не подойдет, он не умеет переключаться в dev mode. Выглядит как-то так:

6. Наличие прямых рук и умения искать в гугле. Серьезно, искать в гугле - очень пригодится.


Итак, с чего бы начать. Наверное с настройки Raspberry Pi. Для сокращения размеров статьи я буду приводить ссылки на имеющуюся документацию в сети, по которой я сам проводил настройку.


Шаг 1.

Вы купили несколько девайсов, и купили Raspberry Pi 3b+. Для начала нужно установить на него операционную систему Raspbian 10. Вот этот гайд довольно неплохо описывает процесс. Вкратце - скачиваете NOOBS образ для Raspberry, заливаете его на SD карту и вставляете в девайс. По сути это вся установка ОС. Гайд немного устарел, поэтому качайте последние версии, у меня стоит Raspbian 10.


Шаг 2.

Конфигурирование установленной ОС. Как минимум вам понадобится docker для того чтобы завести на нём Home Assistant. Заходите по SSH на IP адрес Raspberry Pi, делаете sudo su и далее следуете этому гайду. Учтите, что архитектура Raspberry Pi armhf, в гайде есть места для сниппетов, где надо выбирать целевую архитектуру. У меня помнится были какие-то танцы с бубном при установке докера, но с помощью п.6 требований (умение гуглить, помните, да?) всё решилось)


Шаг 3

Установка непосредственно Home Assistant. Тут в принципе ничего сложного нет, но нужно повнимательнее читать документацию и делать всё строго по гайдам. По ссылке github-репозиторий со скриптами установки. По сути установка сводится к банальной команде:

curl -sL https://raw.githubusercontent.com/home-assistant/supervised-... | bash -s -- -m raspberrypi3-64

Ждём с полчаса, после чего пробуем зайти по адресу http://RASPBERRY_IP:8123

Если получилось, то нам удалось установить Home Assistant.


Шаг 4

URL с портом - некрасиво. Давайте поставим nginx? Делается это так:

sudo apt update
sudo apt install nginx-full

После чего надо проследовать в директорию /etc/nginx/sites-available и создать там файл hassio с вот таким содержимым (когда на пикабу можно будет вставлять код сниппеты?):

map $http_upgrade $connection_upgrade {

default upgrade;

'' close;

}

server {

listen 80;

client_max_body_size 32M;

large_client_header_buffers 4 16k;

location / {

proxy_pass http://127.0.0.1:8123;

proxy_set_header Host $host;

proxy_http_version 1.1;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection $connection_upgrade;

}

access_log /var/log/nginx/access.log;

error_log /var/log/nginx/error.log crit;

}


После чего сделать
ln -s /etc/nginx/sites-available/hassio /etc/nginx/sites-enabled/
systemctl restart nginx

После этих операций можно будет уже заходить на вебморду Home Assistant по URL http://RASPBERRY_IP (без порта в конце!)

Собственно, после входа home assistant предложит вам изменить имя пользователя/пароль по умолчанию, не забудьте сделать это.



Дико извиняюсь, но устал я что-то набивать эту простыню текста, продолжу завтра-послезавтра. Сегодня мы более-менее научились настраивать Raspberry Pi и худо-бедно установили на него home assistant)

Во второй части рассмотрим настройку шлюза Xiaomi, добавление его в Home Assistant и расскажу для чего там может понадобится паяльник. При условии, конечно, что эта статья зайдет)

Показать полностью 2
116

Краткая история вакцинации1

#авторский_челлендж.

Какие только доводы не приводят, чтоб оспорить пользу вакцинации. Я долго пыталась вникнуть в них и разобраться, но все же более чем двухсотоетний опыт врачей для меня является более веским аргументом. Давайте коротко пробежимся по истории развития вакцинации, чтоб разобраться в этом получше.
Очень давно началась эта история. Если точнее, то в 1796 году. Английский врач Эдвард Дженнер случайно заметил, что фермеры, работающие с крупным рогатым скотом, зараженным коровьей оспой, не болеют натуральной оспой. Эти наблюдения сподвигли его на безумный, что по тем, что по нынешним временам. Для храбрости он видимо прибухнул вискаря и решил: "To be, or not to be!"
Так и не известно, как именно он уговорил родителей соседского мальчика заразить его коровьей оспой, но они согласились. И, о чудо, последующие попытки заразить мальчика натуральной оспой остались безрезультатными. Мальчик был здоров и не проявлял ни одного симптома. Основа новой эре в медицине была положена.
В том виде, в котором мы знаем вакцинацию сейчас, она появилась спустя столетие. И разработал ее тот самый Луи Пастер, имя которого у многих ассоциируется с пастеризованным молоком.

Именно он впервые доказал, что инфекционные болезни возникают в результате проникновения в организм бактерий из внешней среды и впервые рискнул испробовать способ предохранения от этих заболеваний путем введения в организм ослабленных возбудителей в малых дозах. Когда это сработало он наверное от радости кричал, как самурай, доказавший свою верность господину.
Так кричит фазан,
Будто это он открыл
Первую звезду.
А начало этому открытию положила вечная рассеянность учёного. Работал Пастер на тот момент с бактериями, вызывающими куриную холеру. Он концентрировал бактерии настолько, что после введения курам этой страшной смеси, куры умирали менее, чем за сутки. Зачем уж он это делал, не известно. Наверное хотел убить всех кур на земле разом. Но как-то раз он перепутал растворы и ввёл курам бактерии недельной давности. А после этого болезнь у кур протекала в очень лёгкой форме и в итоге они вообще поправились. Пастер подумал, что бактерии были какие-то странные и ввел тем же курам новую партию. Но куры все остались абсолютно здоровы. Вот тут то Пастер и вспомнил о Дженнере и изучил подробно его опыты с коровьей оспой. Был бы Дженнер еще жив к тому моменту, думаю он бы первым же дилижансом рванул к нему в Англию, выпил бы с ним эля за его здоровье и крепко обнял.

Ну, а поскольку Дженнер к тому моменту уже покоился в гробу, он просил дал своему открытие название вакцинация. От слова "vaca" [вака] - корова.
Годом позже Пастер рискнул провести массовый публичный опыт, чтоб доказать людям, что открытие его стоит внимания. Не на людях, не волнуйтесь. На овцах. Разделил их на две части заразил всех сибирской язвой. Половине их них он предварительно ввел свою вакцину. Невакцинированные животные на следующий день погибли.
В 1885 году Пастер взялся за разработку вакцины от бешенства и очень хотел наконец опробовать ее на людях. Но добровольцев естественно не находилось. Даже демонстрации под окнами его лаборатории устраивали. Однако снова всему виной стала случайность. Мальчишку покусала собака. Да так сильно, что шансов на его выздоровление не было. Родители, поверив в чудо, принесли его к Пастеру. Конечно тут же набежала пресса, собралась толпа людей, которые были за и против данного безумия. Но, к счастью Пастера, мальчик полностью выздоровел.
Позже в лабораторию Пастера потянулись пострадавшие от бешеных животных со всей Европы. И даже из России везли людей. Не всегда довозили, конечно, далековато все же.
Ну а после уже тысячи ученых брались за подобные эксперименты. Кто-то рисковал своей репутацией, кто-то даже своей собственной жизнью, чтоб доказать пользу вакцин. И спустя два столетия мы имеем в своем распоряжении более сотни разных вакцин, способных защитить нас от сорока с лишним страшных и опасных инфекций.
Вот так. Как было сказано в книге "Так закалялась сталь":
Годы дают нам опыт, учеба – знание!

А в конце хочу лишь показать вам наглядно историю на графике.

Материал написан для авторского челленджа. Если у кого-либо есть желание поддержать конкурс и увеличить его призовой фонд — реквизиты в этом посте ().

Показать полностью 3
14

Чтобы поумнеть, достаточно удалить из головы камень

Камень глупости — популярное поверье. В Средние века в Нидерландах считалось, что глупый человек глуп из-за камня в голове — и если его удалить, он поумнеет.


Шарлатаны предлагали удалить камень. Операции делали на городских ярмарках и народных гуляньях, при толпе зрителей. Художники часто сатирически

Шарлатан проводит операцию. Он извлекает из головы что-то похожее на тюльпан. Слова «тюльпан» и «дурак» на старо-нидерландском очень созвучны.

На столе еще один тюльпан — возможно, его извлекли из головы монашки, которая прикрывает рану на голове книгой.

Перевернутая воронка и закрытая книга символизируют глупость. Книжные знания находятся не в голове, а снаружи — а из воронки утекают мысли.

Монах с кувшином поддерживает шарлатана. Возможно, он причастен к обману. Босх часто изображает монахов в неприглядном виде.

Все происходит на фоне гармоничного пейзажа. Долина, рощи, горы, церквушка — красоте и гармонии природы противопоставлен несовершенный человек.

Глупость — грех. За спиной шарлатана видно виселицу — символ наказания. Глупый человек грешен и заслуживает расплаты. Для Босха глупость — важная тема и встречается во всех картинах о человеческих слабостях.

Средневековое искусство не только показывает, но и поучает. Поэтому Босх вступает в диалог со зрителем.

Вот что он ему говорит 👇

🟠 Глупость безгранична. Картина круглой формы — «тондо». Такая форма была популярна в Италии из-за своей гармоничности. У Босха круг показывает, что изображенное встречается везде.

Зрителю стоит задуматься, не глуп ли он сам. Надпись гласит: «Мастер, удали камень. Меня зовут Лубберт Дас». В Нидерландах Лубберт — нарицательное имя глупого человека. Эту фразу произносит не персонаж, а каждый, кто читает ее на картине.


Баянометр выдает просто картину. Здесь все таки немного другое.

Показать полностью 9
38

Часть 3 (Лохотрон кредитования на примере ЛОКО-Банка)

Если Вы подумали, что речь о Ваших доходах, то Вы глубоко заблуждаетесь.

И так продолжим. (начало часть1 и часть2). Вы, вероятно, считаете себя очень организованным и дисциплинированным человеком. У вас всегда и все под контролем, вы всегда вовремя оплачиваете все счета, вы очень аккуратный водитель и никогда не нарушаете ПДД. У вас, скорее всего, хорошая добропорядочная семья, или, если вы в разводе, вы как любящий и ответственный родитель (не зависимо от пола), всегда вовремя платите алименты. У вас нет задолженностей по налогам. В общем, вас можно назвать идеальным гражданином. Но в реальной жизни не всё так гладко и красиво. Если вы водитель, то с огромной долей вероятности, на вас уже есть штрафы, о которых вы (возможно) даже не подозреваете. (Статистику по штрафам можно посмотреть здесь.) Или так: как мы выше выяснили вы исключительно законопослушный и ответственный гражданин, и в период апрель-май 2020г. вы, почувствовав недомогание, вызвали врача. У вас взяли мазки, и да, это оказался он - его величество COVID-19. Но Вам очень повезло, болезнь протекает в легкой форме, и вас решено оставить дома на "самоизоляции"Для этого вам предписано установить приложение в смартфон, которое призвано контролировать вас, ваши контакты и перемещения. И вот вы честно просидели дома положенное время, исполняли аккуратно все требования, отправляли селфи каждые два часа, независимо от времени суток, и вдруг (это ведь всегда так неожиданно) вам приходят штрафы - два, семь, десять шт. по четыре-пять тысяч каждый. Ваша естественная реакция - возмущение. Вы всё делали правильно, вы соблюдали "рекомендации", как и ПДД, а штрафы откуда-то взялись (surprise). Вы конечно же намеренны всю эту вакханалию оспорить. Вы строчите жалобы, ходите по юристам, собираете документы, чеки из доставок, привлекаете свидетелей, и т.д. и т.д. и т.д... А тем временем ваш "ДОЛГ" в форме судебного приказа уже в работе ФССП. И вот у вас наложены аресты на счета и карты, в том числе и кредитные. Профит, теперь вы не добропорядочный гражданин, а злостный неплательщик.

Но вы об этом еще не знаете! ЛОКО-Банк не удосужится вас уведомить об этом не смотря на обязательство, наложенное на банки ст.9 ФЗ.

Банку очень-очень выгодно считать вас неплательщиком. Банк мгновенно накладывает на вас штраф "за нарушение срока заблаговременного размещения ДС" в размере 10% от ежемесячного платежа. Вы (дисциплинированный заемщик) звоните в банк - как же так, я внес всю сумму точно в срок? А из банка деревянным голосом оператор кол-центра зачитывает вам шаблон:

Вы думаете, как же так? Я такой хороший, платежеспособный, очень-очень аккуратный заемщик. Не уже ли банку такие клиенты совсем не нужны?

Не нужны! ЛОКО-Банк работает не для вас, а для себя и для государства. Подмоченная репутация ЛОКО-Банк не беспокоит. Защищать ваши деньги этот банк не будет. Основная суть нормального банка - это защита, сбережение и умножение денег клиентов. Т.к. основным клиентом ЛОКО-Банка является государство (все его ФССП, ИФНС, РОСПОТРЕБНАДЗОР, МАДИ, Полиция, и пр.), то именно их интересы для банка приоритетны. А вас, как котенка, будут тыкать носом в "договор", который вы подписали.

И теперь, рядовой клерк из банка будет разговаривать с вами с высока, через губу. Банк наложит на вас штрафы и пени. Вам будут звонить неадекватные "представители из отдела по работе с задолженностями"

А если вы наивно полагаете, что разобравшись с ФССП и закрыв исполнительное производство у вас все наладится и банк снимет претензии, то спешу вас заверить в катастрофической ошибочности такой уверенности:

Продолжение следует. Подписывайтесь. Комментируйте.

Показать полностью 7
137

Ответ на пост «Добрый человек»1

Напомнило историю, рассказанную таксистом. Ехал он как-то порожняком из аэропорта, время было позднее и ехал он уже домой, а по дороге на трассе подобрал какого-то бедолагу. Тот рассказал, что денег и даже телефона с собой нет, что его неожиданно высадили бухие кореша, с которыми он повздорил. Но таксист ему объяснил, что это просто жест доброй воли и что довезёт его бесплатно до ближайшего метро, всё равно по дороге.


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


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


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

Показать полностью
Мои подписки
Подписывайтесь на интересные вам теги, сообщества, авторов, волны постов — и читайте свои любимые темы в этой ленте.
Чтобы добавить подписку, нужно авторизоваться.

Отличная работа, все прочитано! Выберите